package com.morningstar.flow.flowable.assigne;

/**
 * 任务执行人策略
 */
public interface AssigneeStrategy {
    /**
     * 流程发起人
     */
    String STRATEGY_START_USER = "START_USER";

    /**
     * 指定用户
     */
    String STRATEGY_SELECT_USER = "SELECT_USER";

    /**
     * 指定角色
     */
    String STRATEGY_SELECT_ROLE = "SELECT_ROLE";

    /**
     * 指定职位
     */
    String STRATEGY_SELECT_POST = "SELECT_POST";

    /**
     * 指定部门
     */
    String STRATEGY_SELECT_DEPT = "SELECT_DEPT";

    /**
     * 部门负责人
     */
    String STRATEGY_SELECT_DEPT_LEADER = "SELECT_DEPT_LEADER";

    /**
     * 空 审批人
     */
    String NO_ASSIGN = "NO_ASSIGN";

    /**
     * 审批人为空 通过
     */
    String ASSIGN_EMPTY_PASS = "1";

    /**
     * 审批人为空 拒绝
     */
    String ASSIGN_EMPTY_REFUSE = "2";

    /**
     * 审批人为空 转交给管理员
     */
    String ASSIGN_EMPTY_TO_ADMIN = "3";

    /**
     * 审批人为空 转交给指定用户
     */
    String ASSIGN_EMPTY_TO_USER = "4";

    /**
     * 审批拒绝 结束流程
     */
    String ASSIGN_REFUSE_TO_END = "1";

    /**
     * 审批拒绝 驳回到指定节点
     */
    String ASSIGN_REFUSE_TO_NODE = "2";
}
